<cfcomponent displayname="AbstractBean" output="false">
	
	<cfset variables.thisinstance = structNew()>
	
	<cffunction name="setValue" access="private" output="false" returntype="void">
		<cfargument name="name" type="string" required="true" hint="name of variable"/>
		<cfargument name="value" type="any" required="true" hint="value of variable"/>
		<cfset variables.thisinstance[arguments.name] = arguments.value/>
	</cffunction>

	<cffunction name="getValue" access="private" output="false" returntype="any">
		<cfargument name="name" type="string" required="true" hint="name of variable"/>
		<cfargument name="default" type="any" default="" hint="name of default for variable if not exists"/>
		<cfset var value = 0 />
		<cfset var error = false />
		<cfif StructKeyExists(variables.thisinstance,arguments.name)>
			<cfset value = variables.thisinstance[arguments.name] />
		<cfelse>
			<cfset value = arguments.default />
		</cfif>
		<cfreturn value />
	</cffunction>

	<cffunction name="dumpValues" access="public" output="false" returntype="any">
		<cfreturn variables.thisinstance />
	</cffunction>

	<cffunction name="dumpVar" output="true">
	  <cfargument name="daVar" required="true">
	  <cfargument name="abort" default="true">
	  <cfdump var="#arguments.daVar#" />
	  <cfif arguments.abort>
		  <cfabort />
		</cfif>
	</cffunction>

</cfcomponent>
